package com.kakarote.oa.entity.BO;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.kakarote.core.entity.PageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.util.List;
import java.util.Set;

/**
 * @author 5kcrm
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("日志搜索BO")
public class LogBO extends PageEntity {

    @ApiModelProperty("类型 0全部 1我发出的 2我收到的")
    private Integer by;

    @ApiModelProperty("日期类型")
    private String type;

    private Integer completeType;

    @ApiModelProperty("创建人ID")
    private String createUserId;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate startTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate endTime;

    @ApiModelProperty("部门列表")
    private List<Long> deptIds;

    @ApiModelProperty("日志模板id")
    private Long categoryId;

    private Integer crmType;
    private Integer order;
    private Integer today;
    private String search;
    private String sortField;
    private Long logId;

    @ApiModelProperty(value = "天数")
    private Integer recentDays;

    @ApiModelProperty(value = "用户ids集合")
    private Set<Long> userIds;

    @ApiModelProperty(value = "发送人id")
    private Long sendUserId;

    @ApiModelProperty(value = "发送部门id")
    private Long sendDeptId;

    @ApiModelProperty(value = "时间对象")
    private String sqlDateFormat;

    @ApiModelProperty(value = "开始时间 字符串格式 如20200101")
    private Integer beginTime;

    @ApiModelProperty(value = "结束时间 字符串格式 如20200101")
    private Integer finalTime;

    @ApiModelProperty(value = "是否是管理员")
    private Boolean isAdmin;

    @ApiModelProperty(value = "没有创建用户入参")
    private Boolean noCreateUserId;

    @ApiModelProperty(value = "是否通过人员或部门搜索")
    private Boolean isSearch;

    @ApiModelProperty(value = "搜索的用户id")
    List<Long> searchUserIds;


    @ApiModelProperty("通过search字段查询扩展值表-查到的logIds")
    private List<Long> logIds;

}
